package com.imufe.chemicalenterprisedangerwarning.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.imufe.chemicalenterprisedangerwarning.entity.po.CheckItemPO;
import com.baomidou.mybatisplus.extension.service.IService;
import com.imufe.chemicalenterprisedangerwarning.entity.query.CheckItemQuery;
import com.imufe.chemicalenterprisedangerwarning.entity.query.ProjectQuery;
import com.imufe.chemicalenterprisedangerwarning.entity.vo.CheckItemVO;
import com.imufe.chemicalenterprisedangerwarning.entity.vo.ProjectDetailedVO;
import com.imufe.chemicalenterprisedangerwarning.entity.vo.SafetySupervisionBureauVO;
import com.imufe.chemicalenterprisedangerwarning.exception.ValidationException;

import java.util.List;

/**
 * <p>
 * 检查条目表 服务类
 * </p>
 *
 * @author BaiBan
 * @since 2022-10-05
 */
public interface CheckItemService extends IService<CheckItemPO> {

    CheckItemVO detailed(Long id) throws ValidationException;

    /**
     * 分页查询检查条目列表, 支持按源搜索
     * @param current 页数
     * @param source 检查条目来源
     */
    IPage<CheckItemVO> page(Long current, String source);

    /**
     * 用于查询source字段选项
     * @return source 列表
     */
    List<String> source();

    /**
     * 新增一个检查条目
     */
    CheckItemVO create(CheckItemQuery query) throws ValidationException;

    /**
     * 修改检查条目信息
     */
    CheckItemVO update(CheckItemQuery query) throws ValidationException;
}
